package com.boilermaker.lotterysystem.controller.param;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import org.springframework.validation.annotation.Validated;

import java.io.Serializable;
import java.util.List;

@Data
public class CreateActivityParam implements Serializable {

    /**
     * 活动名称
     */
    @NotBlank(message = "活动名称不能为空")
    private String activityName;

    /**
     * 活动描述
     */
    @NotBlank(message = "活动描述不能为空")
    private String description;

    /**
     * 活动关联的奖品
     */
    @NotEmpty(message = "活动关联的奖品不能为空") // List 不能为 null 且 size>0
    @Valid // 对嵌套对象的校验
    private List<ActivityPrizeParam> activityPrizeList;

    /**
     * 活动关联的人员
     */
    @NotEmpty(message = "活动关联的人员不能为空") // List 不能为 null 且 size>0
    @Valid // 对嵌套对象的校验
    private List<ActivityUserParam> activityUserList;
}
